﻿namespace Ast
open System

 
type expr =
    | Float     of System.Double
    | Int       of int
    | Id        of string
    | Add       of expr * expr
    | Sub       of expr * expr
    | Mul       of expr * expr
    | Div       of expr * expr

type stmt = 
    | Drive     of  expr * expr
    | Base
    | IfThen    of expr * stmt 
    | IfThenElse of expr * stmt * stmt
    | While     of expr * stmt 
    | Assign    of string * expr
    | Seq       of (stmt list)

type prog = Prog of string * (stmt list)